#ifndef _EMPLOYEEAEMDBSAVER_H
#define _EMPLOYEEAEMDBSAVER_H


#include "IEmployeeAemDbSaver.h"
#include <string>
using namespace std;

/**
 * Implements the interface for saving employee aem to the data base
 */
class EmployeeAemDbSaver : public IEmployeeAemDbSaver {
  public:
	/**
	 * Connects to the database using default values from DbElementProvider
	 */
    EmployeeAemDbSaver();

    /**
     * Connects to the database using the given parameters
     * \param dbName, a string pointer to the const string which contains the database name
     * \param username, a string pointer to the const string which contains the username
     * \param password ,  a string pointer to the const string which contains the password
     * \throw if connecting failed
     */
    EmployeeAemDbSaver(const string * dbName, const string * username, const string * password);

    /**
     * Does nothing
     */
    virtual ~EmployeeAemDbSaver();

    /**
     * Save the given aem to the database
     * \param aem, employee's aem
     * \return true, if saving succeed
     */
    virtual bool saveAem(const string * aem);

};
#endif
